package com.example.mq.mqserver.core;

import java.io.Serializable;

/**
 * @Description: $
 * @Author: liudong
 */

/**
 * 表示一个要此处传递的消息
 * 此处的Message对象，是需要能够在网络上传输，并且也能写入到文件中
 * 此时就需要针对Message进行序列化和反序列化
 * 此处使用 标准库自带的方式进行 序列化/反序列化 操作
 */
public class BasicProperties implements Serializable {
    //消息的唯一身份标识，使用UUID来作为message id来保证id的唯一性
    private String messageId;

    //是一个消息上带有的内容，和bindingKey做匹配
    //如果当前交换机是DIRECT,此就表示要转发的队列名
    //如果当前交换机是FANOUT，此时不使用
    //如果当前交换机是TOPIC，此时就要和bindingKey做匹配，符合要求的才能转发给对应的队列
    private String routingKey;

    //消息是否持久化，1不持久化，2要持久化，也可以使用枚举
    private int deliverMode = 1;

    public String getMessageId() {
        return messageId;
    }

    public void setMessageId(String messageId) {
        this.messageId = messageId;
    }

    public String getRoutingKey() {
        return routingKey;
    }

    public void setRoutingKey(String routingKey) {
        this.routingKey = routingKey;
    }

    public int getDeliverMode() {
        return deliverMode;
    }

    public void setDeliverMode(int deliverMode) {
        this.deliverMode = deliverMode;
    }
}
